<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:f="http://xmlns.jcp.org/jsf/core"
      xmlns:p="http://primefaces.org/ui">

    <ui:composition>
    

    <p:dialog id="DemandaHabitacionalCreateDlg" widgetVar="demandaHabitacionalCreateDialog" modal="true" resizable="true" width="900" appendTo="@(body)" header="#{bundle.CreateDemandaHabitacionalTitle}">

        <h:form id="DemandaHabitacionalCreateForm">
            <h:panelGroup id="display">
            <p:growl id="msgs" sticky="true" showDetail="true"/>

            <p:wizard flowListener="#{demandaHabitacionalController.onFlowProcess}" widgetVar="wiz" >

                <p:tab id="solicitante" title="Grupo familiar"  >
                    <p:panel id="panel" header="Nuevo integrante" >
                        <h:messages errorClass="error"/>
                        <h:panelGrid columns="6" columnClasses="label, value, label, value, label, value" rendered="#{demandaHabitacionalController.persona != null}">

                            <h:outputText value="DNI" />
                            <p:inputText onkeypress="if(event.which &lt; 48 || event.which &gt; 57 ) return false" required="true" requiredMessage="Debe ingresar DNI" value="#{demandaHabitacionalController.persona.dni}"/>
                            
<!--                            <p:inputText maxlength="8" required="true" requiredMessage="Debe ingresar DNI" converterMessage="Solo números en DNI"  value="#{demandaHabitacionalController.persona.dni}">
                                <f:convertNumber integerOnly="true" />
                            </p:inputText>
                            -->
                            <h:outputText value="Apellido: " />
                            <p:inputText  onkeypress="return ((event.which &gt; 64 &amp; event.which &lt; 91 ) || (event.which &gt; 96 &amp; event.which &lt; 123 ) || (event.which == 44) || (event.which == 32) || (event.which == 209) || (event.which == 241))" required="true"  requiredMessage="Debe ingresar Apellido" validatorMessage="Solo letras en Apellido" value="#{demandaHabitacionalController.persona.apellido}"  >
                                <f:validateRegex pattern="[a-zA-Z ñ.áéíóúäëïöü\'-]+" />
                            </p:inputText>
                            
                            <h:outputText value="Nombre:" />
                            <p:inputText required="true" requiredMessage="Debe ingresar Nombre" validatorMessage="Solo letras en Nombre" value="#{demandaHabitacionalController.persona.nombre}"  
                                            onkeypress="return ((event.which &gt; 64 &amp; event.which &lt; 91 ) || (event.which &gt; 96 &amp; event.which &lt; 123 ) || (event.which == 44) || (event.which == 32) || (event.which == 209) || (event.which == 241))">
                                <f:validateRegex pattern="[a-zA-Z ñ.áéíóúäëïöü\'-]+" />
                            </p:inputText>

                            <h:outputText value="Tel. Fijo" />
                            <p:inputText value="#{demandaHabitacionalController.persona.telefono}" onkeypress="if(event.which &lt; 48 || event.which &gt; 57 ) return false"  />
                            
                            <h:outputText value="Tel. Movil" />
                            <p:inputText value="#{demandaHabitacionalController.persona.telefonoMovil}" onkeypress="if(event.which &lt; 48 || event.which &gt; 57 ) return false" />

                            <h:outputText value="email" />
                            <p:inputText value="#{demandaHabitacionalController.persona.correoElectronico}" />
                            
                            <h:outputText value="Domicilio" />
                            <p:inputText value="#{demandaHabitacionalController.persona.direccion}" />

                            <h:outputText value="Fecha de nacimiento*" />
                            <p:calendar id="fnacimiento" pattern="MM/dd/yyyy" value="#{demandaHabitacionalController.persona.fnacimiento}" 
                                        title="#{bundle.EditDemandaHabitacionalTitle_fnacimiento}"  showOn="button" />    


                            <h:outputText value="Es solicitante: " />
                            <p:selectBooleanCheckbox value="#{demandaHabitacionalController.persona.esResponsable}">
                                <!--<p:ajax update="msgs" listener="#{demandaHabitacionalController.addMessage}" />-->
                            </p:selectBooleanCheckbox>

                            <h:outputText value="Años de residencia" />
                            <p:inputText value="#{demandaHabitacionalController.persona.aniosResidencia}" onkeypress="if(event.which &lt; 48 || event.which &gt; 57 ) return false" />

                            <h:outputText value="Es discapacitado" />
                            <p:selectBooleanCheckbox value="#{demandaHabitacionalController.persona.discapacitado}">
                                <!--<p:ajax update="msgs" listener="#{demandaHabitacionalController.addMessage}" />-->
                            </p:selectBooleanCheckbox>

                            <h:outputText/>
                            <h:outputText/>
                            
                            <h:outputText/>
                            <h:outputText/>
                            <h:outputText/>
                            <h:outputText/>
                            
                            <p:commandButton value="#{bundle.NuevoIntegrante}" immediate="true" type="reset"/>
                            <p:commandButton id="btn_add" value="agregar" update="grupoFamiliar msgs @parent"
                                             
                                             
                                             action="#{demandaHabitacionalController.reinit}" >
                                <p:collector value="#{demandaHabitacionalController.persona}"
                                             addTo="#{demandaHabitacionalController.grupoFamiliar}" unique="false"/>
                            </p:commandButton>
                        </h:panelGrid>

                                                    
                                                    
                        <p:outputPanel id="grupoFamiliar">
                            <p:dataTable id="personasTable" value="#{demandaHabitacionalController.grupoFamiliar}" var="g" 
                                         rowKey="#{g.id}">

                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="Apellido" />
                                    </f:facet>
                                    <h:outputText value="#{g.apellido}" />
                                </p:column>

                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="Nombres" />
                                    </f:facet>
                                    <h:outputText value="#{g.nombre}" />
                                </p:column>

                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="DNI" />
                                    </f:facet>
                                    <h:outputText value="#{g.dni}" />
                                </p:column>

                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="Teléfono" />
                                    </f:facet>
                                    <h:outputText value="#{g.telefono}  #{g.telefonoMovil}" />
                                </p:column>
                                
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="Solicitante" />
                                    </f:facet>
                                    <p:selectBooleanCheckbox disabled="true" value="#{g.esResponsable}"/>
                               
                            <!--</p:selectBooleanCheckbox>-->
                                    <!--<h:outputText  value="#{g.esResponsable}" />-->
                                    
                                </p:column>

                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="Operation" />
                                    </f:facet>
                                    <p:commandLink value="Remove" update=":DemandaHabitacionalCreateForm:grupoFamiliar" 
                                                   process=":DemandaHabitacionalCreateForm:grupoFamiliar" >
                                        <p:collector value="#{g}" 
                                                     removeFrom="#{demandaHabitacionalController.grupoFamiliar}" unique="true" />
                                    </p:commandLink>
                                </p:column>

                            </p:dataTable>
                        </p:outputPanel>
                    </p:panel>
                    
                </p:tab>

                <p:tab id="demandaHabitacionalTab" title="Demanda habitacional" >
                    <p:panel id="demandaHabitacionalPanel1" header="Demanda habitacional" >
<!--                                           <p:ajax event="blur" update="demandaHabitacionalPanel" listener="#{demandaHabitacionalController.desHabilitar}"/> -->
                        <h:messages errorClass="error"/>
                        <h:panelGrid columns="4" columnClasses="label, value, label, value" styleClass="grid" >
                            
                            <h:outputText value="Fecha de carga*" />
                            <p:calendar required="true" requiredMessage="Debe ingresar fecha de carga" id="fcarga" pattern="MM/dd/yyyy" value="#{demandaHabitacionalController.selected.fcarga}"
                                        title="#{bundle.EditDemandaHabitacionalTitle_fcarga}" showOn="button" />                     
                            
                            <h:outputText value="Tiene vivienda: " />
                            <p:selectBooleanButton id="value2" value="#{demandaHabitacionalController.selected.tieneVivienda}" onLabel="Si" offLabel="No" onIcon="ui-icon-check" 
                                                   offIcon="ui-icon-close" style="width:60px"  >

                              <!--<p:ajax update="msgs" listener="#{selectBooleanView.addMessage}" />-->
                                <!--<p:ajax update="demandaHabitacionalPanel1" listener="#{demandaHabitacionalController.mostrarOcultar}"/>-->
                            </p:selectBooleanButton>

                        </h:panelGrid>
                        <p:panel id="noTieneVivienda" >
                            <p:outputLabel for="console" value="Necesidad habitacional:" />
                            <p:selectOneMenu id="console" value="#{demandaHabitacionalController.selected.necesidadHabitacional}" >
                                <f:selectItem itemLabel="Vivienda nueva" itemValue="Vivienda nueva" />
                            </p:selectOneMenu>     
                        </p:panel>    

                        <p:panel id="tieneVivienda" >
                            <!--<p:effect type="drop" event="click" />-->
                            <p:outputLabel for="vinculo" value="Vinculo:" />
                            <p:selectOneMenu required="true" requiredMessage="Debe seleccionar el vínculo" id="vinculo" value="#{demandaHabitacionalController.selected.vinculo}" >
                                <f:selectItem itemLabel="" itemValue="" />
                                <f:selectItem itemLabel="Alquilo" itemValue="Alquilo" />
                                <f:selectItem itemLabel="Prestada" itemValue="Prestada" />
                                <f:selectItem itemLabel="Propia" itemValue="Propia" />
                                <f:selectItem itemLabel="Ocupo" itemValue="Ocupo" />
                            </p:selectOneMenu>

                            <p:pickList id="PojoPickList" value="#{demandaHabitacionalController.servicios}" var="servicio" effect="bounce"
                                        itemValue="#{servicio}" itemLabel="#{servicio}" showSourceControls="false" showTargetControls="false" showCheckbox="false"
                                        showSourceFilter="false" showTargetFilter="false" filterMatchMode="contains"  >

                                <f:facet name="sourceCaption">Disponible</f:facet>
                                <f:facet name="targetCaption">Aceptado</f:facet>

                                <p:ajax event="transfer" listener="#{demandaHabitacionalController.onTransfer}" update="msgs" />
                            </p:pickList>
                            
                                <p:outputLabel for="console2" value="Necesidad habitacional:" />
                                <p:selectOneMenu id="console2" value="#{demandaHabitacionalController.selected.necesidadHabitacional}" >
                                    <f:selectItem itemLabel="Vivienda nueva" itemValue="Vivienda nueva" />
                                    <f:selectItem itemLabel="Refacción, ampliación, mejoramiento" itemValue="Refacción, ampliación, mejoramiento" />
                                    <f:selectItem itemLabel="Servicios - conexiones externas" itemValue="Servicios - conexiones externas" />
                                    <f:selectItem itemLabel="Servicios- conexiones internas" itemValue="Servicios- conexiones internas" />
                                </p:selectOneMenu>  
                        </p:panel>

                        

                    </p:panel>
                    <p:commandButton value="Guardar" actionListener="#{demandaHabitacionalController.create}"
                             update="display,:DemandaHabitacionalListForm:datalist,msgs"
                             oncomplete="if(!args.validationFailed) {wiz.loadStep(wiz.cfg.steps[0]);PF(demandaHabitacionalCreateDialog.hide())}"/>
                             
                </p:tab>


            </p:wizard>
            <p:commandButton  value="#{bundle.Cancel}" onclick="DemandaHabitacionalCreateDialog.hide()" immediate="true"/>
            
                             
            </h:panelGroup>
        </h:form>
    </p:dialog>

    </ui:composition>
</html>
